package lambda;



@FunctionalInterface
interface Foo{

public int div(int a,int b  );
// public   int add2 (int a , int b);

default  int add (int a , int b){
    return a + b ;
}
default  void add1 (int a , int b){
        System.out.println(a + b );
    }

public static int  sub(int a , int b){
    return  a + b ;
}


}

/**
 *
 *  *
 *  * @Description: Lambda Express-----> 函数式编程
 *  * 1 拷贝小括号(形参列表)，写死右箭头 ->，落地大括号 {方法实现}
 *  * 2 有且只有一个public方法@FunctionalInterface注解增强定义
 *  * 3 default方法默认实现
 *  * 4 静态方法实现
 *
 * @author shkstart
 * @create 2021-03-05 18:16
 */
public class LambdaDemo {


    public static void main(String[] args) {
//      Foo foo = new Foo() {
//          @Override
//          public void div(int a,int b) {
//              System.out.println(a/b); 无返还参数
//          }
//
//      };
//
//       Foo foo2 = new Foo(){
//            @Override
//            public int div(int a, int b) {
//                return 2;  有返还参数
//            }
//        };

  Foo foo =(a,b) -> {

      return  a+b;
  };
System.out.println(foo.div(1,2));
//  foo.div(10,5);
//  foo.add1(10,5);

    }
}
